import Vue from 'vue'
import Vuex from 'vuex'
import { setItem, getItem, removeItem } from '@/utils/storage.js' // 导入封装好的存取本地存储的方法

// 为了防止写错 用变量
export const HMTT_TOKEN = 'HMTT-TOKEN'

Vue.use(Vuex)
// vuex的缺点是 无法实现数据持久化  页面刷新数据就没了
export default new Vuex.Store({
  state: {
    user: getItem(HMTT_TOKEN) // 保存用户token的变量
  },
  mutations: {
    // 登录成功后 将用户token赋值给user 保存到本地存储
    setUser (state, payload) {
      state.user = payload
      setItem(HMTT_TOKEN, payload)
    },
    // 点击退出登录 清空token
    async clearUser (state, key) {
      state.user = null
      await removeItem(key)
    }
  },
  actions: {
  },
  modules: {
  }
})
